package com.tongzhou.tongzhou.account.dao;

import java.util.List;

import com.tongzhou.db.exception.DBException;
import com.tongzhou.tongzhou.account.model.Account;
import com.tongzhou.tongzhou.account.model.Client;
import com.tongzhou.tongzhou.account.model.SearchAccountCondition;
import com.tongzhou.tongzhou.account.model.SearchClientCondition;
import com.tongzhou.tongzhou.initInfo.model.QuotType;
import com.tongzhou.tongzhou.initInfo.model.Region;
import com.tongzhou.tongzhou.quot.model.Paper;
import com.tongzhou.tongzhou.quot.model.PaperType;

public interface IAccountDAO {
	public List<Account> listAccount(SearchAccountCondition condition) throws DBException;
	public int addAccount(Account account) throws DBException;
	public List<Account> checkLoginInfo(Account account) throws DBException;
	public void deleteAccount(int id) throws DBException;
	public Account getAccountById(int id) throws DBException;
	public void updateAccount(Account account) throws DBException;
	public List<Account> checkAccountByCode(Account account) throws DBException;
	public List<Region> getRegions() throws DBException;
	public List<QuotType> getQuotTypes() throws DBException;
	
	public int addClient(Client client) throws DBException;
	public List<Client> listClient(SearchClientCondition condition) throws DBException;
	public void updateClient(Client client) throws DBException;
	public void deleteClient(int id) throws DBException;
	
	public List<PaperType> getPaperTypeList(int account_id) throws DBException;
	public List<Paper> getPaperList(String paperType_id) throws DBException;
	public void deleteAccountQuot(int account_id) throws DBException;
	
	public Account getAccountByNum(String companyNum) throws DBException;
}
